﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Interop
{
	public enum MessageForwarding : int
	{
		None = 0,
		Both= 1,
		KeyDown = 2,
		KeyUp =4
	}
	public interface IHook
	{
		#region props
		bool IsHooked { get; }
		IntPtr HInstance { get; }
		HookProc HookProc { get; set; }
		bool UnhandledToHost { get; set; }
		MessageForwarding MessageForwarding { get; set; }
		#endregion props

		#region methods
		void InstallHook(int threadId);
		void InstallHook(IntPtr hostHwnd, int threadId);
		void UninstallHook();
		#endregion methods
	}
}
